import numpy as np
def split_train_test(X,y,test_ratio=0.2,seed=None):
    assert X.shape[0]==y.shape[0]#每个数据样本都要有对应的标签
    assert 0.0<=test_ratio<=1.0#分割比例
    if seed:#随机种子的随机效果可以帮助我们在需要随机性的操作中获得不同的随机结果，同时通过控制种子可以确保结果的可重复性。
        np.random.seed(seed)

    shufflue_indexs=np.random.permutation(len(X))#打乱数据集索引
    test_size=int(len(X) * test_ratio)#测试集大小
    test_indexs=shufflue_indexs[:test_size]#测试集索引
    train_indexs=shufflue_indexs[test_size:]#训练集索引
    """测试集数据与标签"""
    X_test=X[test_indexs]
    Y_test=y[test_indexs]
    """训练集数据与标签"""
    X_train=X[train_indexs]
    Y_train=y[train_indexs]
    return X_test,Y_test,X_train,Y_train


